iT邦幫忙

2024 iThome 鐵人賽

DAY 30
0
Python

我的Python奇幻學習之旅系列 第 30

鐵人賽 Day30 Python的奇幻之旅-pandas(熊貓)-12

  • 分享至 

  • xImage
  •  

鐵人賽 Day30 Python基礎應用之-pandas(熊貓)-12

Pandas DataFrame 常用方法示例-5

以下是有關 Pandas 函數的說明和示例代碼,並保留 HackMD 的格式和相應的輸出結果:

1. mode()

返回指定軸上值的眾數。

import pandas as pd

data = {'A': [1, 2, 2, 3]}
df = pd.DataFrame(data)
print(df['A'].mode())

# 輸出結果:
# 0    2
# dtype: int64

2. mul()

將 DataFrame 的值與指定值相乘。

data = {'A': [1, 2, 3]}
df = pd.DataFrame(data)
result = df.mul(2)  # 每個值乘以 2
print(result)

# 輸出結果:
#    A
# 0  2
# 1  4
# 2  6

3. ndim

返回 DataFrame 的維數。

data = {'A': [1, 2, 3]}
df = pd.DataFrame(data)
print(df.ndim)

# 輸出結果:
# 2

4. ne()

對不等於指定值的值返回 True,否則返回 False。

data = {'A': [1, 2, 3]}
df = pd.DataFrame(data)
print(df.ne(2))

# 輸出結果:
#       A
# 0  True
# 1  False
# 2  True

5. nlargest()

按指定列排序 DataFrame,降序,並返回指定數量的行。

data = {'A': [1, 2, 3, 4, 5]}
df = pd.DataFrame(data)
largest = df.nlargest(3, 'A')  # 返回前 3 大的值
print(largest)

# 輸出結果:
#    A
# 4  5
# 3  4
# 2  3

6. notna()

找出不是非數字的值。

data = {'A': [1, None, 3]}
df = pd.DataFrame(data)
print(df.notna())

# 輸出結果:
#       A
# 0  True
# 1  False
# 2  True

7. notnull()

找出不是空值的值。

data = {'A': [1, None, 3]}
df = pd.DataFrame(data)
print(df.notnull())

# 輸出結果:
#       A
# 0  True
# 1  False
# 2  True

8. nsmallest()

按指定列排序 DataFrame,升序,並返回指定數量的行。

data = {'A': [5, 2, 3, 4, 1]}
df = pd.DataFrame(data)
smallest = df.nsmallest(3, 'A')  # 返回前 3 小的值
print(smallest)

# 輸出結果:
#    A
# 4  1
# 1  2
# 2  3

9. nunique()

返回指定軸上唯一值的數量。

data = {'A': [1, 1, 2, 3]}
df = pd.DataFrame(data)
print(df['A'].nunique())

# 輸出結果:
# 3

10. pct_change()

返回前一個值與當前值之間的百分比變化。

data = {'A': [100, 200, 300]}
df = pd.DataFrame(data)
print(df.pct_change())

# 輸出結果:
#      A
# 0  NaN
# 1  1.0
# 2  0.5

11. pipe()

將函數應用於 DataFrame。

data = {'A': [1, 2, 3]}
df = pd.DataFrame(data)

def add_one(x):
    return x + 1

result = df.pipe(add_one)
print(result)

# 輸出結果:
#    A
# 0  2
# 1  3
# 2  4

12. pivot()

重新塑造 DataFrame。

data = {'date': ['2024-01-01', '2024-01-01', '2024-01-02'],
        'variable': ['A', 'B', 'A'],
        'value': [1, 2, 3]}
df = pd.DataFrame(data)
pivoted_df = df.pivot(index='date', columns='variable', values='value')
print(pivoted_df)

# 輸出結果:
# variable         A    B
# date                 
# 2024-01-01     1.0  2.0
# 2024-01-02     3.0  NaN

13. pivot_table()

創建電子表格透視表作為 DataFrame。

data = {'date': ['2024-01-01', '2024-01-01', '2024-01-02'],
        'variable': ['A', 'B', 'A'],
        'value': [1, 2, 3]}
df = pd.DataFrame(data)
pivot_table_df = df.pivot_table(index='date', columns='variable', values='value', aggfunc='sum')
print(pivot_table_df)

# 輸出結果:
# variable         A    B
# date                 
# 2024-01-01     1.0  2.0
# 2024-01-02     3.0  NaN

14. pop()

從 DataFrame 中刪除一個元素。

data = {'A': [1, 2], 'B': [3, 4]}
df = pd.DataFrame(data)
popped = df.pop('B')  # 刪除 B 列
print(df)
print(popped)

# 輸出結果:
#    A
# 0  1
# 1  2
# 0    3
# 1    4

15. pow()

將一個 DataFrame 的值提升到另一個 DataFrame 的值的次方。

data1 = {'A': [1, 2, 3]}
data2 = {'B': [2, 2, 2]}
df1 = pd.DataFrame(data1)
df2 = pd.DataFrame(data2)
result = df1.pow(df2)  # A 的值提升到 B 的值的次方
print(result)

# 輸出結果:
#    A
# 0  1
# 1  4
# 2  9

16. prod()

返回指定軸上所有值的乘積。

data = {'A': [1, 2, 3]}
df = pd.DataFrame(data)
print(df.prod())

# 輸出結果:
# A    6
# dtype: int64

17. product()

返回指定軸上值的乘積。

data = {'A': [1, 2, 3]}
df = pd.DataFrame(data)
print(df.product())

# 輸出結果:
# A    6
# dtype: int64

18. quantile()

返回指定軸的指定分位數值。

data = {'A': [1, 2, 3, 4, 5]}
df = pd.DataFrame(data)
print(df['A'].quantile(0.5))  # 中位數

# 輸出結果:
# 3.0

19. query()

查詢 DataFrame。

data = {'A': [1, 2, 3, 4]}
df = pd.DataFrame(data)
result = df.query('A > 2')  # 查詢 A 大於 2 的行
print(result)

# 輸出結果:
#    A
# 2  3
# 3  4

20. radd()

反向添加一個 DataFrame 的值與另一個 DataFrame 的值。

data1 = {'A': [1, 2, 3]}
data2 = {'B': [4, 5, 6]}
df1 = pd.DataFrame(data1)
df2 = pd.DataFrame(data2)
result = df1.radd(df2)  # B + A
print(result)

# 輸出結果:
#    A
# 0  5
# 1  7
# 2  9

21. rdiv()

反向除以一個 DataFrame 的值與另一個 DataFrame 的

值。

data1 = {'A': [1, 2, 3]}
data2 = {'B': [4, 5, 6]}
df1 = pd.DataFrame(data1)
df2 = pd.DataFrame(data2)
result = df1.rdiv(df2)  # B / A
print(result)

# 輸出結果:
#          A
# 0  4.000000
# 1  2.500000
# 2  2.000000

以上這些就是熊貓,常用的方法跟屬性!如果有趣可以再進行更加深入的研究歐~

我們三十天的Python的奇幻旅程~~

就這麼結束了~感謝跟我一起旅行的夥伴們~下次見~


上一篇
鐵人賽 Day29 Python的奇幻之旅-pandas(熊貓)-11
系列文
我的Python奇幻學習之旅30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言